package com.mastercard.assets.jpa;

import java.io.Serializable;
import javax.persistence.*;
import java.sql.Timestamp;
import java.util.List;


/**
 * The persistent class for the tbl_usuario database table.
 * 
 */
@Entity
@Table(name="tbl_usuario")
public class TblUsuario implements Serializable {
	private static final long serialVersionUID = 1L;
	private int cveUsuario;
	private String email;
	private Timestamp fechaAlta;
	private String login;
	private String nombre;
	private String pswd;
	private byte status;
        private byte idioma ;
	private List<TblRole> tblRoles;
	private TblPaises tblPais;
        private List<TblAgencia> tblAgencias;
	private List<TblAlertaUsuario> tblAlertaUsuarios;
	private List<TblCuenta> tblCuentas;
        private List<TblTipoCuenta> tblTipoCuentas;
	private List<TblNivel> tblNivels;
	private List<TblAssetSolRespuesta> tblAssetSolRespuestas;
	private List<TblAssetSolicitud> tblAssetSolicituds;
	private List<TblCampania> tblCampanias1;
	private List<TblCampania> tblCampanias2;
	private List<TblTareaPreimplementacion> tblTareaPreimplementacions;
        private List<TblPreimplementacionFlujoautRoles> tblPreimplementacionFlujoautRoles ;

    public TblUsuario() {
    }


	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="cve_usuario", unique=true, nullable=false)
	public int getCveUsuario() {
		return this.cveUsuario;
	}

	public void setCveUsuario(int cveUsuario) {
		this.cveUsuario = cveUsuario;
	}


	@Column(nullable=false, length=100)
	public String getEmail() {
		return this.email;
	}

	public void setEmail(String email) {
		this.email = email;
	}


	@Column(name="fecha_alta", nullable=false)
	public Timestamp getFechaAlta() {
		return this.fechaAlta;
	}

	public void setFechaAlta(Timestamp fechaAlta) {
		this.fechaAlta = fechaAlta;
	}


	@Column(nullable=false, length=50)
	public String getLogin() {
		return this.login;
	}

	public void setLogin(String login) {
		this.login = login;
	}


	@Column(nullable=false, length=150)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}


	@Column(nullable=false, length=50)
	public String getPswd() {
		return this.pswd;
	}

	public void setPswd(String pswd) {
		this.pswd = pswd;
	}


	@Column(nullable=false)
	public byte getStatus() {
		return this.status;
	}

	public void setStatus(byte status) {
		this.status = status;
	}
        
        @Column(name="idioma")
	public byte getIdioma() {
		return this.idioma;
	}

	public void setIdioma(byte idioma) {
		this.idioma = idioma;
	}
        
        //bi-directional many-to-one association to TblTipoCuenta
    @ManyToOne
	@JoinColumn(name="cve_pais", nullable=false)
	public TblPaises getTblPais() {
		return this.tblPais;
	}

	public void setTblPais(TblPaises tblPais) {
		this.tblPais = tblPais;
	}

	//bi-directional many-to-many association to TblRole
	@ManyToMany(mappedBy="tblUsuarios")
	public List<TblRole> getTblRoles() {
		return this.tblRoles;
	}

	public void setTblRoles(List<TblRole> tblRoles) {
		this.tblRoles = tblRoles;
	}
	
        
        //bi-directional many-to-many association to TblAgencia
        @ManyToMany(mappedBy="tblUsuarios")
        public List<TblAgencia> getTblAgencias() {
            return this.tblAgencias;
        }
        
        public void setTblAgencias(List<TblAgencia> tblAgencias) {
            this.tblAgencias = tblAgencias;
        }
        

	//bi-directional many-to-one association to TblAlertaUsuario
	@OneToMany(mappedBy="tblUsuario")
	public List<TblAlertaUsuario> getTblAlertaUsuarios() {
		return this.tblAlertaUsuarios;
	}

	public void setTblAlertaUsuarios(List<TblAlertaUsuario> tblAlertaUsuarios) {
		this.tblAlertaUsuarios = tblAlertaUsuarios;
	}
	

	//bi-directional many-to-many association to TblCuenta
	@ManyToMany(mappedBy="tblUsuarios")
	public List<TblCuenta> getTblCuentas() {
		return this.tblCuentas;
	}

	public void setTblCuentas(List<TblCuenta> tblCuentas) {
		this.tblCuentas = tblCuentas;
	}
	
        //bi-directional many-to-many association to TblTipoCuenta
	@ManyToMany(mappedBy="tblUsuarios")
	public List<TblTipoCuenta> getTblTipoCuentas() {
		return this.tblTipoCuentas;
	}

	public void setTblTipoCuentas(List<TblTipoCuenta> tblTipoCuentas) {
		this.tblTipoCuentas = tblTipoCuentas;
	}

	//bi-directional many-to-many association to TblNivel
	@ManyToMany(mappedBy="tblUsuarios")
	public List<TblNivel> getTblNivels() {
		return this.tblNivels;
	}

	public void setTblNivels(List<TblNivel> tblNivels) {
		this.tblNivels = tblNivels;
	}
	

	//bi-directional many-to-one association to TblAssetSolRespuesta
	@OneToMany(mappedBy="tblUsuario")
	public List<TblAssetSolRespuesta> getTblAssetSolRespuestas() {
		return this.tblAssetSolRespuestas;
	}

	public void setTblAssetSolRespuestas(List<TblAssetSolRespuesta> tblAssetSolRespuestas) {
		this.tblAssetSolRespuestas = tblAssetSolRespuestas;
	}
	

	//bi-directional many-to-one association to TblAssetSolicitud
	@OneToMany(mappedBy="tblUsuario")
	public List<TblAssetSolicitud> getTblAssetSolicituds() {
		return this.tblAssetSolicituds;
	}

	public void setTblAssetSolicituds(List<TblAssetSolicitud> tblAssetSolicituds) {
		this.tblAssetSolicituds = tblAssetSolicituds;
	}
	

	//bi-directional many-to-one association to TblCampania
	@OneToMany(mappedBy="tblUsuario1")
	public List<TblCampania> getTblCampanias1() {
		return this.tblCampanias1;
	}

	public void setTblCampanias1(List<TblCampania> tblCampanias1) {
		this.tblCampanias1 = tblCampanias1;
	}
	

	//bi-directional many-to-one association to TblCampania
	@OneToMany(mappedBy="tblUsuario2")
	public List<TblCampania> getTblCampanias2() {
		return this.tblCampanias2;
	}

	public void setTblCampanias2(List<TblCampania> tblCampanias2) {
		this.tblCampanias2 = tblCampanias2;
	}
	

	//bi-directional many-to-one association to TblTareaPreimplementacion
	@OneToMany(mappedBy="tblUsuario")
	public List<TblTareaPreimplementacion> getTblTareaPreimplementacions() {
		return this.tblTareaPreimplementacions;
	}

	public void setTblTareaPreimplementacions(List<TblTareaPreimplementacion> tblTareaPreimplementacions) {
		this.tblTareaPreimplementacions = tblTareaPreimplementacions;
	}
        
	//bi-directional many-to-one association to TblPreimplementacionFlujoautRoles
	@OneToMany(mappedBy="tblUsuario")
	public List<TblPreimplementacionFlujoautRoles> getTblPreimplementacionFlujoautRoles() {
		return this.tblPreimplementacionFlujoautRoles;
	}

	public void setTblPreimplementacionFlujoautRoles(List<TblPreimplementacionFlujoautRoles> tblPreimplementacionFlujoautRoles) {
		this.tblPreimplementacionFlujoautRoles = tblPreimplementacionFlujoautRoles;
	}
}